1 module mruby.object; 2 3 import mruby; 4 import mruby.mrb_class; 5 import mruby.variable; 6 7 extern (C): 8 9 struct RBasic 10 { 11 enum mrb_vtype 12 { 13 MRB_TT_FALSE = 0, 14 MRB_TT_FREE = 1, 15 MRB_TT_TRUE = 2, 16 MRB_TT_FIXNUM = 3, 17 MRB_TT_SYMBOL = 4, 18 MRB_TT_UNDEF = 5, 19 MRB_TT_FLOAT = 6, 20 MRB_TT_CPTR = 7, 21 MRB_TT_OBJECT = 8, 22 MRB_TT_CLASS = 9, 23 MRB_TT_MODULE = 10, 24 MRB_TT_ICLASS = 11, 25 MRB_TT_SCLASS = 12, 26 MRB_TT_PROC = 13, 27 MRB_TT_ARRAY = 14, 28 MRB_TT_HASH = 15, 29 MRB_TT_STRING = 16, 30 MRB_TT_RANGE = 17, 31 MRB_TT_EXCEPTION = 18, 32 MRB_TT_FILE = 19, 33 MRB_TT_ENV = 20, 34 MRB_TT_DATA = 21, 35 MRB_TT_FIBER = 22, 36 MRB_TT_MAXDEFINE = 23 37 } 38 mrb_vtype tt; 39 uint color; 40 uint flags; 41 RClass* c; 42 RBasic* gcnext; 43 } 44 45 struct RObject 46 { 47 enum mrb_vtype 48 { 49 MRB_TT_FALSE = 0, 50 MRB_TT_FREE = 1, 51 MRB_TT_TRUE = 2, 52 MRB_TT_FIXNUM = 3, 53 MRB_TT_SYMBOL = 4, 54 MRB_TT_UNDEF = 5, 55 MRB_TT_FLOAT = 6, 56 MRB_TT_CPTR = 7, 57 MRB_TT_OBJECT = 8, 58 MRB_TT_CLASS = 9, 59 MRB_TT_MODULE = 10, 60 MRB_TT_ICLASS = 11, 61 MRB_TT_SCLASS = 12, 62 MRB_TT_PROC = 13, 63 MRB_TT_ARRAY = 14, 64 MRB_TT_HASH = 15, 65 MRB_TT_STRING = 16, 66 MRB_TT_RANGE = 17, 67 MRB_TT_EXCEPTION = 18, 68 MRB_TT_FILE = 19, 69 MRB_TT_ENV = 20, 70 MRB_TT_DATA = 21, 71 MRB_TT_FIBER = 22, 72 MRB_TT_MAXDEFINE = 23 73 } 74 mrb_vtype tt; 75 uint color; 76 uint flags; 77 RClass* c; 78 RBasic* gcnext; 79 iv_tbl* iv; 80 } 81 82 struct RFiber 83 { 84 enum mrb_vtype 85 { 86 MRB_TT_FALSE = 0, 87 MRB_TT_FREE = 1, 88 MRB_TT_TRUE = 2, 89 MRB_TT_FIXNUM = 3, 90 MRB_TT_SYMBOL = 4, 91 MRB_TT_UNDEF = 5, 92 MRB_TT_FLOAT = 6, 93 MRB_TT_CPTR = 7, 94 MRB_TT_OBJECT = 8, 95 MRB_TT_CLASS = 9, 96 MRB_TT_MODULE = 10, 97 MRB_TT_ICLASS = 11, 98 MRB_TT_SCLASS = 12, 99 MRB_TT_PROC = 13, 100 MRB_TT_ARRAY = 14, 101 MRB_TT_HASH = 15, 102 MRB_TT_STRING = 16, 103 MRB_TT_RANGE = 17, 104 MRB_TT_EXCEPTION = 18, 105 MRB_TT_FILE = 19, 106 MRB_TT_ENV = 20, 107 MRB_TT_DATA = 21, 108 MRB_TT_FIBER = 22, 109 MRB_TT_MAXDEFINE = 23 110 } 111 mrb_vtype tt; 112 uint color; 113 uint flags; 114 RClass* c; 115 RBasic* gcnext; 116 mrb_context* cxt; 117 }